package day3;

/**
 现在纸币面额有 1元，2元，5元，10元，20元，50元和100元，
 输入一个正整数的金额，输出所有的组成可能，比如输入 3元，则有  3个1元 和
 一个2+1个1元两种可能
 */
public class CalcMoney {
    public static void main(String[] args) {
        int m=240;
        int count=0;
        for(int i=0;i<=m/100;i++){//100元的张数
            for (int j = 0; j <=m/50; j++) {//50
                for (int k = 0; k <=m/20; k++) {
                    for (int l = 0; l <=m/10; l++) {
                        for (int n = 0; n <=m/5; n++) {
                            for (int o = 0; o <=2 ; o++) {
                                int p=m-i*100-j*50-k*20-l*10-n*5-o*2;
                                if(p<0)
                                    continue;
                                count++;
                                System.out.print(i>0?i+"张百元":" ");
                                System.out.print(j>0?j+"张五十元":" ");
                                System.out.print(k>0?k+"张二十元":" ");
                                System.out.print(l>0?l+"张十元":" ");
                                System.out.print(n>0?n+"张五元":" ");
                                System.out.print(o>0?o+"张两元":" ");
                                System.out.print(p>0?p+"张一元":" ");
                                System.out.println();
                            }
                        }
                    }
                }
            }
        }
        System.out.println("有"+count+"种可能");
    }
}
